package com.lv.service.net

import com.lv.service.network.BaseYgxRsp
import okhttp3.MultipartBody
import okhttp3.RequestBody
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.Part
import retrofit2.http.PartMap
import retrofit2.http.Query
import retrofit2.http.QueryMap

/**
 * 创建者：ygx
 * 创建日期：2021/9/17 11:02 PM
 * 描述：
 * 首页模块的接口
 */
interface ServiceService {

    @POST("clerk/oauth/login")
    fun login(@Body map: LoginByPassWordReqBody): Call<BaseYgxRsp>

    @POST("clerk/oauth/loginByCode")
    fun loginByCode(@Body map: LoginByCodeReqBody): Call<BaseYgxRsp>

    @POST("clerk/oauth/latestUser")
    fun latestUser(): Call<BaseYgxRsp>

    @POST("clerkrole/findPros")
    fun findPros(@QueryMap map: Map<String, String>): Call<BaseYgxRsp>

    /**
     * 发送短信验证
     */
    @POST("clerk/oauth/sendCode")
    fun sendCode(
        @Body body: SendCodeBody
    ): Call<BaseYgxRsp>

    /**
     * 验证验证码
     */
    @POST("clerk/oauth/verifyCode")
    fun verifyCode(
        @Body body: VerifyCodeBody
    ): Call<BaseYgxRsp>

    /**
     * 发送短信验证-修改公司
     */
    @POST("com/oauth/sendCode")
    fun sendCodeCom(
        @Body body: SendCodeBody
    ): Call<BaseYgxRsp>

    /**
     * 验证验证码-修改公司
     */
    @POST("com/oauth/verifyCode")
    fun verifyCodeCom(
        @Body body: VerifyCodeBody
    ): Call<BaseYgxRsp>

    /**
     * 意见反馈
     */
    @GET("clerkrole/feedback")
    fun feedback(
        @Query("text") text: String,
    ): Call<BaseYgxRsp>

    /**
     * 修改个人信息
     */
    @Multipart
    @POST("clerkrole/updateMyLogo")
    fun updateMyLogo(
        @PartMap map: Map<String, @JvmSuppressWildcards RequestBody>,
        @Part part: List<MultipartBody.Part>
    ): Call<BaseYgxRsp>

    /**
     * 修改个人信息
     */
    @Multipart
    @POST("clerkrole/updateMyMessage")
    fun updateMyMessage(
        @PartMap map: Map<String, @JvmSuppressWildcards RequestBody>,
//        @Part part: List<MultipartBody.Part>
    ): Call<BaseYgxRsp>

    /**
     * 注销个人信息
     */
    @POST("clerkrole/deleteUser")
    fun deleteUser(
        @Body body: UserDeleteReqBody
    ): Call<BaseYgxRsp>

    /**
     * 修改个人信息-业务员修改公司
     */
    @POST("clerkrole/updatePasswordOrPhone")
    fun updatePasswordOrPhone(
        @Body body: CompanyReqBody
    ): Call<BaseYgxRsp>


    /**
     * 查找个数
     */
    @GET("clerkrole/findCount")
    fun findCount(
        @QueryMap map: Map<String, String>
    ): Call<BaseYgxRsp>


    /**
     * 查找单个期数
     */
    @GET("clerkrole/findOnePdAndCa")
    fun findOnePdAndCa(
        @QueryMap map: Map<String, String>
    ): Call<BaseYgxRsp>

    /**
     *  查看小程序或进件信息
     */
    @GET("clerkrole/findOneSubmit")
    fun findOneSubmit(@QueryMap map: Map<String, String>): Call<BaseYgxRsp>

    /**
     *  亨富然基础信息
     */
    @GET("clerkrole/findhengPros")
    fun findhengPros(@QueryMap map: Map<String, String>): Call<BaseYgxRsp>

    /**
     * 亨富然开户
     */
    @POST("clerkrole/saveHengCompany")
    fun saveHengCompany(@Body body: ClientHFRReqBody, ): Call<BaseYgxRsp>
}